RRドメインリバースプロキシ
概要
現在の設定における背景と課題
デフォルトでは、オムニチャネルパーソナライゼーションプラットフォームは、クライアント側統合を実現するためにJavaScriptライブラリを使用しており、P13N.JSおよびclient.JSは顧客のクライアント側コードベース内に実装されています。これらのアセットはAlgonomyのプライベートクラウド上にホストされており、API呼び出しを行うためにRichRelevanceのサブドメインを使用しています。
しかし、いくつかのプライバシー機能を有効にしているブラウザでは、RichRelevanceのサブドメインへのリクエストがクロスオリジンリクエストと見なされ、ブロックされる傾向があります。これにより、プライバシー機能をオンにしたブラウザやシークレットモードを使用してショッピングするユーザーに対して課題が発生します。
APIゲートウェイとしてのリバースプロキシ
顧客側の設定にリバースプロキシを構成することで、前述のような課題を克服できます。つまり、ショッパーがプライバシー機能をオンにしたブラウザやシークレットモードを使用した場合でも、RichRelevanceのサブドメインへの一部のリクエストがブロックされることなく処理されます。
以下のセクションでは、AWSクラウドが提供するサービスを使用してリバースプロキシソリューションを構築する方法を説明します。
このソリューションは任意のベンダーのソリューションで構築できますが、以下のセクションではAWSサービスを例として使用します。参照されるサービスは次のとおりです。
-
APIゲートウェイ:このサービスは、クライアントのリクエストをRichRelevanceドメインにプロキシし、あたかもクライアントのドメイン上のサーバーからレスポンスが返されたかのようにコンテンツを表示する設定の中心となります。
-
Route53(DNSサービス):このサービスは、顧客のサブドメインをAPIゲートウェイで生成されたランダムなURLにマッピングするために使用されます。
-
ACM SSL証明書(SSL証明書管理ソリューション):このサービスは、顧客の特定のサブドメインにSSL証明書をインストール/適用するために使用されます。パーソナライゼーションプラットフォームに関連するすべてのリクエストはこのURLを介して行われるため、ショッパーのブラウザはこのURLをファーストパーティとして認識し、クロスオリジンリクエストとしてブロックしなくなります。
Note: 任意のAPIゲートウェイソリューションをDNSおよび証明書管理サービスと組み合わせることで、リバースプロキシソリューションをセットアップできます。
リバースプロキシの構成
APIゲートウェイの設定
以下の手順に従って、APIゲートウェイをリバースプロキシとして設定します:
-
API Gatewayコンソールで、適切な名前を付けてHTTP APIを作成します。
-
他のオプションはデフォルトのままにして次へをクリックし、作成をクリックします。
-
開発セクションのルートを選択し、APIのルートを作成します。
ここでは、JSおよびICOファイル用にそれぞれ1つずつ、2つのルートを作成します。これらはパーソナライゼーションクラウドのRichRelevanceドメインから提供されます。
-
HTTPメソッドにALL、パスに/p13n.jsを選択し、作成をクリックします。
-
HTTPメソッドにALL、パスに/favicon.icoを選択し、作成をクリックします。
Note: パーソナライゼーションクラウドのすべての機能を顧客のサブドメイン上で動作させるには、P13n.jsおよびclient.jsそれぞれ専用のルートを設定する必要があります。
-
-
開発セクションの統合を選択し、ルートと統合します。
-
この統合をルートにアタッチの下で適切なルートを選択します。
-
統合ターゲットの統合タイプドロップダウンからHTTP URIを選択します。
-
統合の詳細に、コンテンツを提供するRichRelevanceのURL(https://media.richrelevance.com)をパスとともに入力します。
-
その他の設定はデフォルトのままにし、作成をクリックします。
-
複数のルートが作成されている場合は、(i)〜(iv)の手順を繰り返して統合します。
-
カスタムドメインの作成
次のステップとして、エンドユーザー向けのカスタムドメインを作成し、ドメイン上で事前に設定されたSSL証明書をこの新しく作成したサブドメインに適用します。以下の手順に従ってカスタムドメインを作成します。
-
API Gatewayサービスでカスタムドメイン名を選択します。
-
TLSでは、TLS 1.2を選択します。
-
エンドポイント構成では、エンドポイントタイプにリージョナルを選択します。
-
ドメインに対応する適切なSSL証明書を選択します。
-
ドメイン名の作成をクリックします。
-
新しく作成したカスタムドメインの下で、APIマッピングを選択します。
-
APIマッピングの構成をクリックし、適切なAPIとデフォルトステージを選択します。
-
保存をクリックします。
-
新しく作成したカスタムドメインの設定で、API Gateway ドメイン名をDNSマッピング用にメモしておきます。
DNSマッピング
DNSサービス内で、前セクションで設定したクライアントカスタムドメインとAPI Gatewayドメイン名のCName(Canonical Name)マッピングを実行します。
サニティテスト
すべての構成が完了したら、RichRelevanceドメインからレンダリングされたコンテンツが、構成されたドメインからHTTPステータスコード200で正常に読み込まれるかどうかをテストしてください。
結論
このページで説明したリバースプロキシソリューションを実装することにより、買い物客がWebサイト閲覧時にプライバシー機能をオンにしていても、パーソナライゼーションプラットフォームの機能をフルに活用できるようになります。
将来的には、Algonomyからリリースされる新機能が、最新バージョンのp13n.jsまたはclient.jsのインストゥルメンテーションに依存している場合でも、クライアント側のコードベースが常にパーソナライゼーションクラウドから直接コンテンツをリクエストするため、自動的に利用可能になります。